package com.dq.redis.properties;


import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * redis 配置
 * @author cf
 */
@Component
public class RedisPropertiesConfig {
    @Value("${spring.redis.host}")
    private String host;
    @Value("${spring.redis.port}")
    private Integer port;

    /** Redis服务器连接密码（默认为空 */
    @Value("${spring.redis.password}")
    private String password;

    /** 连接超时时间（毫秒，如果不设置，取默认值2000 */
    @Value("${spring.redis.timeout}")
    private String timeout;

    /** 连接池最大连接数（使用负值表示没有限制）默认 8 */
    @Value("${spring.redis.jedis.pool.max-active}")
    private String maxActive;

    /** 连接池最大阻塞等待时间（使用负值表示没有限制） */
    @Value("${spring.redis.jedis.pool.max-wait}")
    private String maxWait;

    /** 连接池中的最大空闲连接 */
    @Value("${spring.redis.jedis.pool.max-idle}")
    private String maxIdle;

    /** 连接池中的最小空闲连接 */
    @Value("${spring.redis.jedis.pool.min-idle}")
    private String minIdle;

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public Integer getPort() {
        return port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getTimeout() {
        if(timeout.contains("ms")) {
            timeout = timeout.replaceAll("ms", "");
        }
        return timeout;
    }

    public void setTimeout(String timeout) {
        this.timeout = timeout;
    }

    public String getMaxActive() {
        if(maxActive.contains("ms")) {
            maxActive = maxActive.replaceAll("ms", "");
        }
        return maxActive;
    }

    public void setMaxActive(String maxActive) {
        this.maxActive = maxActive;
    }

    public String getMaxWait() {
        if(maxWait.contains("ms")) {
            maxWait = maxWait.replaceAll("ms", "");
        }
        return maxWait;
    }

    public void setMaxWait(String maxWait) {
        this.maxWait = maxWait;
    }

    public String getMaxIdle() {
        if(maxIdle.contains("ms")) {
            maxIdle = maxIdle.replaceAll("ms", "");
        }
        return maxIdle;
    }

    public void setMaxIdle(String maxIdle) {
        this.maxIdle = maxIdle;
    }

    public String getMinIdle() {
        if(minIdle.contains("ms")) {
            minIdle = minIdle.replaceAll("ms", "");
        }
        return minIdle;
    }

    public void setMinIdle(String minIdle) {
        this.minIdle = minIdle;
    }
}
